/**
 * Created by IntelliJ IDEA.
 * User: martlenn
 * Date: 24-Jan-2008
 * Time: 05:01:40
 */
package org.hkupp.model;

import org.hkupp.db.accessors.Peptide;
import org.hkupp.db.accessors.Protein;

import java.util.ArrayList;
import java.util.HashMap;
/*
 * CVS information:
 *
 * $Revision$
 * $Date$
 */

/**
 * This class represents a single processed Spectrum Mill tag summary file,
 * along with all the information it contains.
 *
 * @author Lennart Martens
 * @version $Id$
 */
public class IdentifiedRun {
    private HashMap<String, Peptide> peptides = new HashMap<String, Peptide>();
    private HashMap<String, Protein> proteins = new HashMap<String, Protein>();

    private HashMap<String, ArrayList<String>> peptideToProteinMap = new HashMap<String, ArrayList<String>>();
    private HashMap<String, ArrayList<String>> proteinToPeptideMap = new HashMap<String, ArrayList<String>>();

    private HashMap<String, ArrayList<Integer>> peptideLocationInProtein = new HashMap<String, ArrayList<Integer>>();


    private String locationCode = null;
    private long iteration = -1;

    public IdentifiedRun(int iteration, String locationCode, HashMap<String, Peptide> peptides, HashMap<String, ArrayList<String>> peptideToProteinMap, HashMap<String, Protein> proteins, HashMap<String, ArrayList<String>> proteinToPeptideMap, HashMap<String, ArrayList<Integer>> peptideLocationInProtein) {
        this.iteration = iteration;
        this.locationCode = locationCode;
        this.peptides = peptides;
        this.peptideToProteinMap = peptideToProteinMap;
        this.proteins = proteins;
        this.proteinToPeptideMap = proteinToPeptideMap;
        this.peptideLocationInProtein = peptideLocationInProtein;
    }

    public long getIteration() {
        return iteration;
    }

    public void setIteration(int iteration) {
        this.iteration = iteration;
    }

    public String getLocationCode() {
        return locationCode;
    }

    public void setLocationCode(String locationCode) {
        this.locationCode = locationCode;
    }

    public HashMap<String, Peptide> getPeptides() {
        return peptides;
    }

    public void setPeptides(HashMap<String, Peptide> peptides) {
        this.peptides = peptides;
    }

    public HashMap<String, ArrayList<String>> getPeptideToProteinMap() {
        return peptideToProteinMap;
    }

    public void setPeptideToProteinMap(HashMap<String, ArrayList<String>> peptideToProteinMap) {
        this.peptideToProteinMap = peptideToProteinMap;
    }

    public HashMap<String, Protein> getProteins() {
        return proteins;
    }

    public void setProteins(HashMap<String, Protein> proteins) {
        this.proteins = proteins;
    }

    public HashMap<String, ArrayList<String>> getProteinToPeptideMap() {
        return proteinToPeptideMap;
    }

    public void setProteinToPeptideMap(HashMap<String, ArrayList<String>> proteinToPeptideMap) {
        this.proteinToPeptideMap = proteinToPeptideMap;
    }

    public HashMap<String, ArrayList<Integer>> getPeptideLocationInProtein() {
        return peptideLocationInProtein;
    }

    public void setPeptideLocationInProtein(HashMap<String, ArrayList<Integer>> peptideLocationInProtein) {
        this.peptideLocationInProtein = peptideLocationInProtein;
    }
}
